package twoPoint.p4;

import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

public class test1679 {

}
//class Solution {
//    public int maxOperations(int[] nums, int k) {
//        Map<Integer, Integer> map = new HashMap<>();
//        int len = nums.length;
//        int count = 0;
//        for (int i = 0; i < len; i++) {
//            if (map.containsKey(k - nums[i])&&map.get(k - nums[i]) > 0) {
//                map.get(k - nums[i]);
//                map.put(k - nums[i], map.get(k - nums[i]) - 1);
//                count++;
//            } else {
//                map.put(nums[i], map.getOrDefault(nums[i], 0) + 1);
//            }
//        }
//        return count;
//    }
//}
class Solution {
    public int maxOperations(int[] nums, int k) {

        Arrays.sort(nums);
        int len=nums.length;
        int l=0,r=len-1;
        int count=0;
        while(l<r){
            int temp=nums[r]+nums[l];
            if(temp==k){
                r--;
                l++;
                count++;
            }else if(temp<k){
                l++;
            }else{
                r--;
            }
        }
        return count;
    }
}